package rsj.service.report;

import org.apache.poi.ss.formula.functions.T;

import java.util.List;

/**
 * 报表
 * R 报表列表返回对象
 * D 报表详情列表返回对象
 * P 请求参数
 *
 * @author yuanqinglong
 * @since 2021/7/21 16:48
 */
public interface IReportService<R, D, P> {


    /**
     * 报告列表
     *
     * @param p 报告参数
     * @return {@link T}
     */
    List<R> reportList(P p);

    /**
     * 报告数
     *
     * @param p 报告参数
     * @return int
     */
    int reportCount(P p);


    /**
     * 详细的列表
     *
     * @param p p
     * @return {@link List<T>}
     */
    List<D> detailList(P p);


    /**
     * 详细的计算
     *
     * @param p p
     * @return {@link List<T>}
     */
    int detailCount(P p);



}
